遞歸神經網路(Recurrent Neural Network, RNN)是一種專門設計用來處理序列數據的神經網路結構,廣泛應用於自然語言處理(如語言翻譯、語音識別)、時間序列分析(如股票預測)、序列生成等領域。RNN 與傳統神經網路不同之處在於,它具有「記憶」功能,能夠考慮到前一個時間步驟的輸入,從而捕捉到序列中的依賴關係。
1.時間步(Time Step)和狀態(State)
RNN 通過引入「時間步」來處理序列數據,模型會根據前一個時間步的輸出和當前的輸入來更新當前狀態,這一特性讓 RNN 能夠保留序列的上下文信息。
2.權重共享
RNN 的一個特點是權重共享,即每個時間步的網路結構都使用相同的參數(權重)。這意味著無論序列的長度如何,RNN 模型都可以應用於各個時間步,並且參數的數量不會隨著序列長度的變化而增長。
RNN 的問題
雖然 RNN 能夠捕捉序列依賴關係,但在實際應用中,RNN 存在一些問題,尤其是當序列較長時: